package de.pass.ch.util;

/**
 * final Class for holding all the public static final fields
 * 
 * @author Max
 * 
 */
public final class Constants {

	public static final int SHORTCUT_EDGE_LIMIT = (1 << 6) - 1;

	/** Normal edge. */
	public static final byte EDGE_TYPE_ORIGINAL = 0;

	/** Normal shortcut edge. */
	public static final byte EDGE_TYPE_SHORTCUT = 1;

	/**
	 * Shortcut edge representing a witness path. Such shortcuts are used during
	 * construction if possible witnesses are known in advance.
	 */
	public static final byte EDGE_TYPE_WITNESS_SHORTCUT = 2;

	/** Special node-ID, that is normally never used */
	public static final int SPECIAL_NODEID = ((1 << 26) - 1) - 42;

	public static final int LAST_EDGE_LIMIT = (1 << 16) - 1;

	public static final byte NOTHING = 0;
	public static final byte ONE_EDGE = 1;
	public static final byte TWO_EDGES = 2;
	public static final byte LOOK_FOR_SECOND_EDGE_FORWARD = -1;
	public static final byte LOOK_FOR_SECOND_EDGE_BACKWARD = -2;

	public static final int DURATION_OPT = 1;

	public static final int DISTANCE_OPT = 2;

}
